/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.pbs.facades;

import br.com.pbs.pojos.Pessoa;
import br.com.pbs.pojos.PessoaJuridica;
import br.com.pbs.exeptions.BancoExeption;
import br.com.pbs.factory.Factory;
import br.com.pbs.interfaces.IFacadePessoa;
import br.com.pbs.interfaces.IFactoryPessoa;
import br.com.pbs.interfaces.IPessoaDao;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Luiz Segundo
 */
public class FacadePessoaJuridica implements IFacadePessoa<PessoaJuridica> {

        IFactoryPessoa fabrica = new Factory();
        IPessoaDao dao = fabrica.getPessoaDao();

        private FacadePessoaJuridica() {
        }

        public static FacadePessoaJuridica getInstance() {
                return new FacadePessoaJuridica();
        }

        public boolean cadatraPessoa(PessoaJuridica p) throws BancoExeption {
                return dao.save(p);
        }

        public boolean deletaPessoa(PessoaJuridica p) throws BancoExeption{

                return dao.delete(p);
                
        }

        public PessoaJuridica buscaPorNome(String nome) throws BancoExeption{
                return (PessoaJuridica) dao.buscaObjetoPorNome(nome, new PessoaJuridica());
        }

        public boolean atualizaPessoa(PessoaJuridica p) throws BancoExeption {
                return dao.save(p);
        }

        public List<PessoaJuridica> listaDeNomes(String nome) throws BancoExeption {
                return (List<PessoaJuridica>) dao.buscaObjetoPorNome(nome, new PessoaJuridica());
        }
}
